Optical coherence tomography guided robotic ophthalmic procedures

ABSTRACT

The systems and methods described herein provide improved techniques for OCT guided robotic ophthalmic procedures. A method includes receiving, during OCT scanning of an eye, position data of a plurality of galvanometer scanners from a plurality of absolute and incremental encoders coupled to the corresponding galvanometer scanners. The method further includes receiving scan data related to one or more tissues of the eye. The method further includes determining, a set of first positions of the one or more tissues of the eye in a first 3D coordinate system. The method further includes determining, based on the set of first positions and a mapping between the first and a second 3D coordinate systems, a position in the second 3D coordinate system for a surgical instrument coupled to a robotic device. The method includes causing the robotic device to move the surgical instrument to the position in the second 3D coordinate system.

BACKGROUND Field

Embodiments of the present disclosure generally relate to methods andapparatus for ophthalmic procedures, and more particularly, to methodsand apparatus for optical coherence tomography (OCT) guided roboticophthalmic procedures.

Description of the Related Art

OCT guided robotic ophthalmic procedures may improve patient care. Forexample, OCT guided robotic vitreoretinal surgery may result in preciseincisions of concerned tissues of a patient's eye, a more consistentoperating procedure, and prevent human errors during the surgicalprocedure. In order to have a true OCT guided robotic ophthalmicprocedure performed safely, the robotic device must be provided withaccurate data of the locations of various tissues of the eye.

Existing OCT systems may be configured to perform OCT scans of an eyeand detect various tissues of the eye. Existing OCT systems can besensitive to heat generated from galvanometer scanners' heating due toI²R losses while OCT scanning is performed. Such heat may result inthermal drift of one or more components (e.g., galvanometer scanners,analog capacitive angle sensors, and the like) of the existing OCTsystems. The thermal drift can cause the one or more scanning componentsof the OCT system to drift from an expected position. Similarly,friction caused by bearings of some moving components of some of theexisting OCT systems may also result in thermal drift causing one ormore components of the OCT system to drift from expected positions.

Generally, the thermal drift can result in angular position errors forthe galvanometer scanners of the OCT system because the galvanometerscanners are limited-angle rotary actuators. The angular position errorsmay result in translation errors that can cause a system to erroneouslytarget a tissue in the eye that can be up to 100 microns of distanceaway from a tissue plane selected by a user. Additionally, the analogcapacitive angle sensors coupled to the galvanometer scanners areincapable of correcting for such thermal drift and to nullify an errorin the range of 100 microns.

Therefore, certain existing OCT systems are incapable of accuratelydetermining a position and orientation in space of a tissue in an eyebeing scanned by the OCT systems. Thus, such existing OCT systems cannotaccurately guide robotic ophthalmic procedures.

SUMMARY

The present disclosure generally relates to methods and apparatus forOCT guided robotic ophthalmic procedures.

In certain embodiments, an optical coherence tomography (OCT) systemincludes a plurality of galvanometer scanners, a plurality of absoluteencoders, and a plurality of incremental encoders, each one of theplurality of absolute encoders and each one of the plurality ofincremental encoders coupled to at least one of the plurality ofgalvanometer scanners. The OCT system further includes a controllercoupled to the plurality of absolute encoders and the plurality ofincremental encoders. The controller includes a processor, and a memorycoupled to the processor and having instructions stored thereon, whichwhen executed by the processor, causes the controller to receive, duringan optical coherence tomography (OCT) scanning of an eye, position dataof the plurality of galvanometer scanners from the plurality of absoluteencoders and the plurality of incremental encoders coupled to thecorresponding galvanometer scanners. The processor also causes thecontroller to receive, during the OCT scanning, scan data related to oneor more tissues of the eye. The processor also causes the controller todetermine, based on the received position data and the scan data, a setof first positions of the one or more tissues of the eye in a firstthree-dimensional (3D) coordinate system. The processor also causes thecontroller to determine, based on the first set of positions and amapping between the first 3D coordinate system and a second 3Dcoordinate system, a position in the second 3D coordinate system for asurgical instrument coupled to a robotic device. The processor alsocauses the controller to cause the robotic device to move the surgicalinstrument to the position in the second 3D coordinate system.

In certain embodiments, a method generally includes receiving, during anoptical coherence tomography (OCT) scanning of an eye, position data ofa plurality of galvanometer scanners from a plurality of absoluteencoders and a plurality of incremental encoders coupled to thecorresponding galvanometer scanners, each one of the plurality ofabsolute encoders and each one of the plurality of incremental encoderscoupled to at least one of the plurality of galvanometer scanners. Themethod further includes receiving, during the OCT scanning, scan datarelated to one or more tissues of the eye. The method further includesdetermining, based on the received position data and the scan data, aset of first positions of the one or more tissues of the eye in a firstthree-dimensional (3D) coordinate system. The method further includesdetermining, based on the first set of positions and a mapping betweenthe first 3D coordinate system and a second 3D coordinate system, aposition in the second 3D coordinate system for a surgical instrumentcoupled to a robotic device. The method further includes determining,based on the first set of positions and a mapping between the first 3Dcoordinate system and a second 3D coordinate system, a position in thesecond 3D coordinate system for a surgical instrument coupled to arobotic device.

Aspects of the present disclosure provide means for, apparatus,processors, and computer-readable mediums for performing the methodsdescribed herein.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above recited features of the presentdisclosure can be understood in detail, a more particular description ofthe disclosure, briefly summarized above, may be had by reference toembodiments, some of which are illustrated in the appended drawings. Itis to be noted, however, that the appended drawings illustrate onlyexemplary embodiments and are therefore not to be considered limiting ofits scope, and may admit to other equally effective embodiments.

FIG. 1A illustrates a block diagram of selected components of an exampleOCT guided robotic ophthalmic surgical system, in accordance withcertain embodiments of the present disclosure.

FIG. 1B illustrates a perspective view of a galvanometer scanner, inaccordance with certain embodiments of the present disclosure.

FIG. 2 illustrates a block diagram of selected components of an OCTcontroller, in accordance with certain embodiments of the presentdisclosure.

FIG. 3 illustrates a flow chart of an example method for guiding arobotic device for an ophthalmic procedure, in accordance with certainembodiments of the present disclosure.

To facilitate understanding, identical reference numerals have beenused, where possible, to designate identical elements that are common tothe figures. It is contemplated that elements and features of oneembodiment may be beneficially incorporated in other embodiments withoutfurther recitation.

DETAILED DESCRIPTION

The present disclosure generally relates to methods and apparatus forOCT guided robotic ophthalmic procedures.

As described herein, a robotic ophthalmic procedure may be an ophthalmicprocedure that is performed by a robotic device based on user inputreceived from a user. The user input may include a selection of theophthalmic procedure, selection of a target tissue, an instruction toperform the selected procedure, etc.

Existing OCT systems may be configured to scan an eye and a surgeon mayidentify one or more tissues of the eye on an image generated based onthe scan data from the scan of the eye combined with stereo digitalvisualization. However, existing OCT systems are generally notconfigured to provide accurate positions or locations of the one or moretissues of an eye. For example, OCT systems are generally configuredwith galvanometer scanners that are coupled to analog capacitance anglesensors. However, heat generated from some components (e.g.,galvanometer scanners) of an OCT system and/or bearing friction frommovements of an OCT system's components can result in thermal drift thatcan cause angular errors when determining angular positions of thegalvanometer scanners of the OCT system. Such thermal drift can resultin a translational error generally in the range of 100 microns whendetermining a position of a tissue in an eye. While such thermal driftmay have minimal effect on OCT image generation, it can be dangerous totry to determine positions and/or locations of the various tissues ofthe eye in a coordinate system without correcting for and/or eliminatingthe thermal drift. Therefore, existing OCT systems are not capable ofaccurately guiding robotic ophthalmic procedures.

Accordingly, some implementations of the present disclosure providevarious systems and techniques that improve an OCT system's accuracy indetermining a position of one or more tissues in an eye and effectivelyguiding a robotic device to move a surgical instrument to a tissue inthe eye. Some implementations of the present disclosure provide varioussystems and techniques to configure an OCT system to receive inputsrelated to one or more target tissues of a scanned eye from a user(e.g., a surgeon, and the like), and configure the OCT system todetermine the positions or locations of the one or more target tissuesof the eye in a coordinate system of the OCT system. Someimplementations of the present disclosure provide various systems andtechniques to configure the OCT system to provide to the robotic device,positions or locations of the one or more target tissues of the eye in acoordinate system of the robotic device, and cause the robotic device tomove a surgical or another medical instrument coupled to the roboticdevice to the one or more target tissues based on the provided positionsor locations.

FIG. 1A illustrates a block diagram of selected components of an exampleoptical coherence tomography (OCT) guided robotic ophthalmic surgicalsystem 10. The OCT guided robotic ophthalmic surgical system 10 includesan OCT system 100 and a robotic device 120. The OCT system 100 includesan OCT scanner 102, an OCT controller 104, an imaging system 106, and adisplay 108. The OCT system 100 may be communicatively coupled to therobotic device 120 and an external display 110.

The OCT scanner 102 may include a number of OCT components and/orinstruments (not shown separately in FIG. 1A). The OCT components and/orinstruments may be of various types, and the OCT scanner 102 may beconfigured differently based on the types of the OCT components and/orinstruments. The OCT scanner 102 performs OCT scanning of an eye 130 ofa patient. The OCT scanner 102 may perform the OCT scanning bycontrolling output of one or more sample beams (not shown) onto the eye130, and receiving one or more measurement beams (not shown) reflectedback from the eye 130. The one or more measurement beams may bereflected back from the eye 130 in response to the photons of the samplebeam interacting with the tissue in the eye 130. In someimplementations, the OCT scanner 102 may be configured as a time domainOCT (TD-OCT). In some implementations, the OCT scanner 102 may beconfigured as a frequency domain OCT (FD-OCT). In some implementations,the OCT scanner 102 may be configured as a swept-source OCT (SS-OCT).

The OCT scanner 102 may include multiple galvanometer scanners (notshown separately in FIG. 1A), and may control the output of one or moresample beams onto the eye 130 using the galvanometer scanners. In someimplementations, the OCT scanner 102 may include dual galvanometerscanners. Each galvanometer scanner of the OCT scanner 102 may beconfigured to scan in a certain direction. For example, one galvanometerscanner of the OCT scanner 102 may be configured to scan in a firstdirection, and another galvanometer scanner of the OCT scanner 102 maybe configured to scan in a second direction. In some implementations,the first direction and the second direction may be differentdirections. In some implementations, the first direction may beperpendicular to the second direction. In some implementations, onegalvanometer scanner of the OCT scanner 102 may scan in a firstdirection on a first scan plane, and another galvanometer scanner of theOCT scanner 102 may scan in a second direction on a second scan plane.In some implementations, the first scan plane may be perpendicular tothe second scan plane.

Each galvanometer scanner may be coupled to an absolute encoder (notshown separately in FIG. 1A) and an incremental encoder (not shownseparately in FIG. 1A). For example, if the OCT scanner 102 includes twogalvanometer scanners, then a first absolute encoder and a firstincremental encoder may be coupled to the first galvanometer scanner,and a second absolute encoder and a second incremental encoder may becoupled to the second galvanometer scanner. In some implementations, theabsolute encoders coupled to the galvanometer scanners of the OCTscanner 102 may be optical rotary absolute encoders. In someimplementations, the incremental encoders coupled to the galvanometerscanners of the OCT scanner 102 may be optical rotary incrementalencoders. In some implementations, an absolute encoder and anincremental encoder may be coupled to a shaft connected to one or moreelements (e.g., a mirror) of a galvanometer scanner. The absoluteencoder may be configured to measure an absolute or true angularposition of the galvanometer scanner based on the rotation of the shaftconnected to an element (e.g., mirror) of the galvanometer scanner. Theincremental encoder may be configured to measure a change in the angularposition of the galvanometer scanner based on the rotation of the shaftconnected to an element (e.g., mirror) of the galvanometer scanner.

The absolute encoders coupled to the galvanometer scanners of the OCTscanner 102 may be configured to determine the absolute or true angularpositions of the corresponding galvanometer scanners without aperforming a homing process to initialize or reinitialize after anypower interruptions or thermal drift. The absolute encoders and theincremental encoders coupled to the galvanometer scanners of the OCTscanner 102 may be configured to have high angular resolution. Theincremental encoders coupled to the galvanometer scanners of the OCTscanner 102 may be configured to have higher angular resolution than theabsolute encoders coupled to the galvanometer scanners of the OCTscanner 102. Therefore, utilizing a combination of an absolute encoderand an incremental encoder is advantageous because the absolute encodercan provide the absolute or true angular position of a galvanometerscanner to a controller, such as the OCT controller 104, withoutperforming a homing a process after any thermal drift or powerinterruptions, and the incremental encoders, with the higher angularresolution, can accurately detect even small changes in the angularpositions of the galvanometer scanner and accurately track changes inthe galvanometer scanner's angular position. In some implementations,the absolute encoders and the incremental encoders coupled to thegalvanometer scanners of the OCT scanner 102 may measure resolutionvalues in bits resolution, e.g., typically 16 bits resolution or more.

Each absolute encoder may be configured to generate an output includinga unique configuration of bits for each position of the galvanometerscanner to which the absolute encoder is coupled. The uniqueconfiguration of bits generated by the absolute encoder indicatesposition data of the corresponding galvanometer scanner to which theabsolute encoder is coupled. In some implementations, the output of eachincremental encoder is analog proportional to the sine-cosine of thescan angle. The output of the incremental encoder indicates the positionof the galvanometer scanner to which the incremental encoder is coupled.

Each absolute and incremental encoder included in the OCT scanner 102may capture angular position data of the corresponding galvanometerscanner to which the absolute and the incremental encoder are coupledand transmit the position data to the OCT controller 104. In someimplementations, the absolute incremental encoders may be configured totransmit the position data to the OCT controller 104 in real-time and/ornear real-time. In some implementations, one absolute encoder and oneincremental encoder may be integrated into a single encoder device.Additional details of the absolute and incremental encoders is describedbelow with reference to FIG. 1B.

The position data of the corresponding galvanometer scanner may indicatea position of a mirror of the galvanometer scanner during an OCT scan ofa patient's eye (e.g., eye 130). For example, position data from theabsolute encoder coupled to a galvanometer scanner, configured to scanin a first direction on a first scan plane, may indicate positions ofthe mirror of the galvanometer scanner rotating in the first directionon the first scan plane during the OCT scanning of the eye 130.Similarly, position data from the absolute encoder coupled to agalvanometer scanner, configured to scan in a second direction on asecond scan plane, may indicate positions of the mirror of thegalvanometer scanner rotating in the second direction on the second scanplane during the OCT scan of the eye 130. As described above, in someimplementations, the first scan plane may be perpendicular to the secondscan plane. As described above, in some implementations, the firstdirection may be different from the second direction. As describedabove, in some implementations, the first and the second direction maybe in the same direction.

An example of a galvanometer scanner is shown in FIG. 1B. Thegalvanometer scanner shown in FIG. 1B is a moving-magnet galvanometerscanner. FIG. 1B illustrates a perspective view of a galvanometerscanner 150. The galvanometer scanner 150 may include a mirror 156 andone or more magnets 164. The mirror 156 and the one or more magnets 164may be connected to each other via a shaft 162. In some implementations,the shaft 162 may be a steel shaft. The galvanometer scanner 150 mayinclude coils 152 a-152 b. The coils 152 a-152 b may surround the one ormore magnets 164 as shown in FIG. 1B.

An encoder device 160 may include an absolute encoder and an incrementalencoder, and the encoder device 160 may be coupled to the galvanometerscanner 150. For example, as shown in FIG. 1B, the encoder device 160may be connected to the mirror 156 and the one or more magnets 164 viashaft 162. During the OCT scanning of the eye of the patient, the mirror156 may rotate in response to the Lorentz force induced by coil currentl_(c) with the one or more magnets 164. As the mirror 156 rotates, thedifferent angular positions of the mirror 156 are captured and/ormeasured by the encoder device 160. The angular position of the mirror156 may be referred to herein as a mechanical angle of the mirror 156.The absolute encoder of the encoder device 160 may be configured togenerate a unique configuration of bits for each angular position ormechanical angle of the mirror 156. The incremental encoder of theencoder device 160 may be configured to track the change in angularpositions or mechanical angles of the mirror 156 as the mirror 156rotates. As described above, the mechanical angles of a mirror of agalvanometer scanner during an OCT scan may indicate positions of thegalvanometer scanner as described herein. Therefore, the variouscaptured and/or measured mechanical angles of the mirror 156 during theOCT scan indicate the various positions of the galvanometer scannerduring the OCT scan

The encoder device 160 may transmit the outputs of the absoluteincremental encoders as the position of the galvanometer scanner 150 tothe OCT controller 104. As described above, in certain implementations,the outputs of the absolute and incremental encoders may indicate or bereferred to herein as the position data of a galvanometer scanner (e.g.,galvanometer scanner 150) to which the absolute encoder and theincremental encoder are coupled. During the OCT scanning, the encoderdevice 160 may transmit the outputs of the absolute encoder and theincremental encoder to the OCT controller 104.

In some implementations, the absolute encoder of the encoder device 160may be a sine-cosine encoder. In some implementations, the absoluteencoder of the encoder device 160 may be a holographic encoder. In someimplementations, the absolute encoder of the encoder device 160 may havea grating and/or a holographic optic element (not shown separately)mounted on the absolute encoder of the encoder device 160. In certainimplementations, the incremental encoder that operates with the absoluteencoder of the encoder device 160 is holographic.

During the OCT scanning, one or more sample beams 154 may be directed atmirror 156. As the mirror 156 rotates during the OCT scanning, therotations in the mirror 156 may change the angle of deflection of theone or more sample beams 154. The angle of deflection of the one or moresample beams 154 may be referred to herein as an optical angle of theone or more sample beams 154. In some implementations, the OCT scanner102 may transmit the different optical angles of the one or more samplebeams 154 as part of and/or along with the scan data transmitted to theOCT controller 104.

Returning to FIG. 1A, the OCT scanner 102 may be configured to scan theeye 130 at various depths of the eye 130. For example, the OCT scanner102 may be configured to scan the entire depth of the eye 130 for a fulleye scan of the eye 130. Similarly, the OCT scanner 102 may beconfigured to scan any portion of the eye 130, such as the retina of theeye 130. In some implementations, the OCT scanner 102 may scan differentdepths of the eye 130 at different resolutions. For example, the OCTscanner 102 may scan the entire depth of the eye 130 at a lowerresolution, and may scan a portion of the eye 130, such as the retina ofthe eye 130, at a higher resolution.

The OCT scanner 102 may be configured to generate scan data based on theone or more measurement beams reflected back from the eye. The scan datamay represent a depth profile of the scanned tissue. In someimplementations, the scan data generated by the OCT scanner 102 mayinclude two-dimensional (2D) scan data of a line scan (B-scan). In someimplementations, the scan data generated by the OCT scanner 102 mayinclude three-dimensional (3D) scan data of an area scan (C-scan, enface). The OCT scanner 102 may be configured to transmit the generatedscan data to the OCT controller 104. In some implementations, the OCTscanner 102 may be configured to transmit the generated scan data inreal-time or near real-time. In some implementations, the OCT scanner102 may be configured to transmit the generated scan data after theentire scanning operation is completed by the OCT scanner 102.

The OCT scanner 102 may be configured to initiate scanning of the eye130 in response to receiving a command and/or instruction from the OCTcontroller 104. The OCT controller 104 may be configured to transmit ascan initiation command to the OCT scanner 102 in response to receivingan indication from a user, such as a surgeon to initiate scanning of theeye. The OCT controller 104 may be configured to receive the indicationto initiate scanning of the eye via a user interface (e.g., a graphicaluser interface (GUI)) and/or an input device (not shown). Input devicesmay be communicatively coupled to and/or incorporated in the imagingsystem 106. Examples of input devices include, but are not limited to, akey pad, a keyboard, a touch screen device configured to receive touchinputs, and the like.

In some implementations, the indication from the user may provideinformation related to depth and/or location of the eye for scanning,and the OCT controller 104 may be configured to provide the received eyedepth and/or location related information to the OCT scanner 102. Forexample, an indication received by the OCT controller 104 may indicate afull eye OCT scan, and the OCT controller 104 may transmit aninstruction to the OCT scanner 102 that indicates a full eye OCT scan.Similarly, an indication received by the OCT controller 104 may indicatean OCT scan of the retina of the eye, and the OCT controller 104 maytransmit an instruction to the OCT scanner 102 that indicates an OCTscan of the retina of the eye.

The OCT controller 104 may be communicatively coupled to the OCT scanner102 via one or more electrical and/or communication interfaces. In someimplementations, the one or more electrical and/or communicationinterfaces may be configured to transmit data (e.g., scan data generatedby the OCT scanner 102) from the OCT scanner 102 at a high transmissionrate such that the OCT controller 104 may receive the data in real-timeor near real-time from the OCT scanner 102.

The OCT controller 104 may be configured to generate one or more OCTimages based on the received generated scan data from the OCT scanner102. For example, the OCT controller 104 may be configured to generate a2D image or a B-scan image based on the generated 2D scan data of a linescan. Similarly, the OCT controller 104 may be configured to generate a3D image or a C-scan based on the generated 3D scan data of an areascan. The OCT controller 104 may be configured to perform imagegeneration and/or image processing in real-time and/or near real-time.

The OCT controller 104 may be configured with one or more tissuedetection and/or auto-segmentation algorithms to detect and/orauto-segment one or more tissue layers of the eye in the generated OCTimages. Examples of tissue of an eye that the OCT controller 104 may beconfigured to detect and/or auto-segment include, but are not limitedto, anterior surface of the cornea, retina, cornea, iris, pupil,anterior and posterior surface plus the position of the lens, internallimiting membrane (ILM), and the like. The OCT controller 104 may beconfigured to apply one or more tissue detection and/orauto-segmentation algorithms on the received scan data from the OCTscanner 102 and/or the generated OCT images to detect and/orauto-segment one or more tissues of the scanned eye.

The OCT controller 104 may be configured to determine a set of positionsin a three dimensional (3D) coordinate system for each detected tissueof the eye based on the position data of the galvanometer scannersreceived from the absolute and the incremental encoders coupled to thegalvanometer scanners and the scan data received when the position datais received. For example, during the OCT scan, the OCT controller 104may receive position data of the galvanometer scanners and scan dataincluding data related to the surface of the retina (e.g., ILM), and theOCT controller 104 may detect the surface of the retina based on thereceived scan data and determine a position of the surface of the retinain the 3D coordinate system based on the position data received when thescan data including the data related to surface of the retina isreceived.

In some implementations, the OCT controller 104 may be configured todetermine a position of a detected tissue in the 3D coordinate systembased on the mechanical angles of the galvanometer scanners when thescan data corresponding to the detected tissue is captured and/orgenerated by the OCT scanner 102. In some implementations, the OCTcontroller 104 may be configured with a set of rules and/or instructionsto translate mechanical angles of the galvanometer scanners to positionsin 3D coordinate system. For example, for the initial received positiondata of the galvanometer scanners, the OCT controller 104 may associatethat data with an initial coordinate or a central coordinate of the 3Dcoordinate system, and for the second received position data of thegalvanometer scanners, the OCT controller 104 may associate that datawith a second coordinate of the coordinate system. In suchimplementations, the OCT controller 104 may determine the secondcoordinate based on the difference between the initially receivedposition data of the galvanometer scanners and the second receivedposition data of the galvanometer scanners (e.g., difference between themechanical angles of the initial received position data and themechanical angles of the second received position data).

The coordinate system in which the OCT controller 104 determines the setof positions for each detected tissue may be referred to herein as thecoordinate system of the OCT system 100. An example of a position in thecoordinate system of the OCT system 100 of a detected tissue, such as atarget tissue on surface of the retina (e.g., ILM) in the eye 130, maybe determined by the OCT controller 104 to be at a coordinate (−3, −2,−5) of 3D coordinate system, where the first value (−3) is a value on anx-axis, the second value (−2) is a value of y-axis, and the third value(−5) is a value on a z-axis of the 3D coordinate system.

In some implementations, the values of the positions determined by theOCT controller 104 may indicate offsets from a central or an initialcoordinate of the 3D coordinate system. In some implementations, the OCTcontroller 104 may be configured to set a central coordinate of the 3Dcoordinate system as a location (e.g., center point) on the surface ofthe eye 130, such that all other positions of the 3D coordinate systemrepresent offsets from the central coordinate, and the first receivedscan data may correspond to that location (e.g., center point) on thesurface of the eye 130. The OCT controller 104 may be configured tostore the position data of the detected tissues of the eye in a datastorage unit of the OCT system 100.

The OCT controller 104 may be communicatively coupled to display 108 andexternal display 110. The OCT controller 104 may cause the generated OCTimages to be displayed on the display 108 and/or the external display110. For example, the OCT controller 104 may transmit the generated OCTimages to the display 108 and/or the external display 110. In someimplementations, the OCT images may be displayed as en face OCT imagesby the display 108 and/or the external display 110. In someimplementations, the OCT images may be displayed as semi-transparent OCTimages with the one or more auto-segmented tissues (e.g., on the surfaceof the retina, and the like) may be displayed as a dot or wireframearray.

In some implementations, the OCT controller 104 may be communicativelycoupled to one or more image capture devices (not shown separately), andthe OCT controller 104 may be configured to receive optical images fromthe one or more image capture devices that are communicatively coupledto the OCT controller 104. The OCT controller 104 may be configured tooverlay the generated OCT images on the received optical images. In someimplementations, the OCT controller 104 may receive three dimensionaloptical images. The OCT controller 104 may be configured to overlay OCTimages (e.g., en face OCT images) on 3D optical images.

Examples of overlaying OCT images on optical images are disclosed inU.S. Pat. No. 10,398,307, entitled CURVATURE OF FIELD TRANSFORMATION OFOCT IMAGES DURING VITREORETINAL SURGERY, the entire disclosure of whichis hereby incorporated by reference herein. Examples of generating enface OCT images are disclosed in U.S. Pat. No. 10,064,549, entitledBINOCULAR EN FACE OPTICAL COHERENCE TOMOGRAPHY IMAGING, the entiredisclosure of which is hereby incorporated by reference herein. Examplesof generating OCT images during vitreoretinal surgery are disclosed inU.S. Pat. No. 9,649,021, entitled RESOLUTION ENHANCEMENT OF OCT IMAGESDURING VITREORETINAL SURGERY, the entire disclosure of which is herebyincorporated by reference herein. Examples of generating OCT imagesduring vitreoretinal surgery are disclosed in U.S. Pat. No. 10,013,749,entitled RESOLUTION ENHANCEMENT OF OCT IMAGES DURING VITREORETINALSURGERY, the entire disclosure of which is hereby incorporated byreference herein. Examples of en face or 3D volumetric OCT imagingduring ophthalmic surgery are disclosed in U.S. Pat. No. 10,285,584,entitled SUBTRACTIVE EN FACE OPTICAL COHERENCE TOMOGRAPHY IMAGING.

The display 108 and the external display 110 may be part of anophthalmic visualization system that provides a platform for digitallyassisted ophthalmic procedures, such as NGENUITY 3D Visualization systemof Alcon Laboratories Inc. In some implementations, display 108 may be adisplay for the user (e.g., surgeon, and the like) and the display 110may be a stand-alone monitor for viewing by various personnel during theophthalmic procedure.

In some implementations, the display 108 and/or 110 may be implementedas a 3D visualization system, a touchscreen device, a liquid crystaldisplay screen, a computer monitor, a television, a tablet, augmentedglasses, viewing glasses, and the like. The display 108 and/or 110 maybe configured to be in compliance with one or more display standards,such as video graphics array (VGA), extended graphics array (XGA),digital visual interface (DVI), high-definition multimedia interface(HDMI), and the like. In certain implementations, display 108 and/or 110may be organic light emitting diode (OLED) displays used in the NGENUITY3D Visualization system of Alcon Laboratories Inc.

In some implementations, the OCT controller 104 may be configured totransmit the received scan data from the OCT scanner 102 to the imagingsystem 106. The imaging system 106 may be configured to receive thegenerated scan data and process the scan data to generate one or moreOCT images for display to a user (e.g., a surgeon, a clinician, and thelike). The imaging system 106 may be configured with one or more tissuedetection and/or auto-segmentation algorithms to detect and/orauto-segment one or more tissue layers of the eye in the generated OCTimages. The imaging system 106 may be configured to support threedimensional (3D) visualization of the images. The imaging system 106 maybe configured to capture and/or generate one or more optical images ofthe eye 130 and the imaging system 106 may overlay the generated one ormore OCT images on the captured and/or generated one or more opticalimages.

For example, the imaging system 106 may transmit the optical imagesoverlaid with OCT images to the display 108 to cause the images to bedisplayed to the user. In some implementations, the imaging system 106may be configured to provide the optical images overlaid with OCTimages, generated OCT images, and/or the auto-segmented tissues of theOCT images to the OCT controller 104. For example, the imaging system106 may transmit the optical images overlaid with OCT images to the OCTcontroller 104, and the OCT controller 104 may be configured to transmitthe digital optical images overlaid with OCT images to the externaldisplay 110 for displaying the digital optical images overlaid with OCTimages to the user and/or other personnel.

As described above, the robotic device 120 may be communicativelycoupled to the OCT system 100. The robotic device 120 includes roboticdevice controller 122, and a surgical instrument 124. The robotic devicecontroller 122 may be configured to receive inputs from the OCTcontroller 104. Examples of inputs from the OCT controller 104 mayinclude, but are not limited to, instructions to move the surgicalinstrument to a position in a 3D coordinate system of the robotic device120. The 3D coordinate system of the robotic device 120 may be differentfrom the 3D coordinate system in which the positions of the tissues ofthe eye are determined (e.g., the 3D coordinate system of the OCTsystem). Additional details of transforming from the 3D coordinatesystem of positions of the tissues to the 3D coordinate system of therobotic device 120 are described below. In some implementations, therobotic device 120 may be configured to move with six degrees of freedom(6-DOF).

The robotic device 120 may be configured to be interacted with by a user(e.g., a surgeon) via an interface to move the robotic device 120, andthe robotic device controller 122 may be configured to receive inputsfrom the user via the interface. For example, the robotic device 120 maybe communicatively coupled to a surgeon console, and a user, such as asurgeon, may interact with a six degrees of freedom (6-DOF) hapticinterface of the surgeon console to move the surgical instrument 124 ofthe robotic device 120 to a desired position. The user (e.g., surgeon)may position uses the haptic interface to position a surgical tool nearthe target tissue in the eye 130. The robotic device controller 122 maybe configured to receive the movements of the 6-DOF haptic interface ofthe surgeon console from the surgeon console and determine a position inthe 3D coordinate system of the robotic device to move the surgicalinstrument 124, and may cause the surgical instrument 124 to the user'sdesired position.

For example, after viewing a desired tissue of the eye 130 displayed onOCT images on the display 108 and/or 110, a user (e.g., a surgeon, andthe like) may interact with the robotic device 120 to move the surgicalinstrument to a position near the eye 130. For example, the user maycause the surgical instrument to be positioned near the target tissue inthe eye. The robotic device controller 122 may transmit the position ofthe surgical instrument to the OCT controller 104.

The user may select a tissue on the display 108 and/or 110 and indicatea task that the user desires the robotic device 120 to perform. Forexample, the user may touch the a target location on the surface of theretina displayed in the OCT image overlaid optical image on the display108 and/or 110 to select the target location on the surface of theretina as the target tissue on which to operate, and the user may alsoselect a task such as removal of a membrane (e.g., ILM) for the roboticdevice 120 to perform. In some implementations, the user may virtuallydraw a motion of the task and/or operation that the user desires therobotic device 120 to perform. For example, the user may virtually drawa circular motion on a display 108 and/or 110 that is displaying acertain location on the surface of the retina to indicate a removal of amembrane (e.g., ILM or epiretinal membrane) from such certain location.

The display 108 and/or 110 may be configured to transmit the task and/oroperation received from the user to the OCT controller 104. The OCTcontroller 104 may be configured to transmit the received task and/oroperation from the user to the robotic device controller 122. Therobotic device controller 122 may be configured to transmit a positionof the surgical instrument 124 to the OCT controller 104. In someimplementations, the robotic device controller 122 may be configured totransmit the position of the surgical instrument 124 to the OCTcontroller 104 in response to receiving the task and/or operation fromthe user. For example, in response to receiving the task and/oroperation information from the user via the OCT controller 104, therobotic device controller 122 may transmit the position information ofthe surgical instrument 124.

The robotic device controller 122 may transmit the position informationof the surgical instrument 124 in the coordinate system of the roboticdevice 120. The OCT controller 104 may be configured to transform thepositions and/or coordinates in the 3D coordinate system of the roboticdevice 120 to the positions and/or coordinates in the 3D coordinatesystem in which the OCT controller 104 determined the positions of thedetected tissues (e.g., the 3D coordinate system of the OCT system 100,and vice-versa. The OCT controller 104 may be configured to apply one ormore transformation techniques to transform the positions from onecoordinate system to another coordinate system. For example, the OCTcontroller 104 may be configured to apply a Jacobean transform to thecoordinates in one coordinate system in order to transform them intocoordinates in the other coordinate system.

In some implementations, the OCT controller 104 may be configured with amapping between coordinates of coordinate system in which the OCTcontroller 104 determines the positions of the tissues and thecoordinate system of the robotic device 120. Based on the mapping, theOCT controller 104 may be configured to transform the coordinates in afirst coordinate system to coordinates in a second coordinate system.For example, for a position (−3, −2, −5) in one 3D coordinate system,the mapping may indicate that the position transforms to (2, 1, 4) inthe other 3D coordinate system.

Based on the received selection of the tissue, the OCT controller 104may identify the position of the tissue in the 3D coordinate system ofOCT system 100. The OCT controller may utilize a transformationtechnique and/or the mapping between coordinate systems of the OCTsystem 100 and the robotic device 120 to determine the position of thetissue in the 3D coordinate system of the robotic device 120. Forexample, if the user selects a target tissue (e.g., certain location onthe surface of the retina or another location in the eye) and theposition of the target tissue in the 3D coordinate system of the OCTsystem 100 is (−3, −2, −5), then the OCT controller 104 may determinethe position of the target tissue in the 3D coordinate system of roboticdevice 120 by utilizing a transformation technique and/or a mappingbetween the two 3D coordinate systems to determine the position of thetarget tissue in the eye 130 in the 3D coordinate system of the roboticdevice 120. In certain embodiments, a rigid, precise mechanical mountingof the OCT system 100 and a base of the robot device 120 is necessary orat least advantageous.

The OCT controller 104 may transmit the position determined in the 3Dcoordinate system of the robotic device 120 of the user selected targettissue to the robotic device 120 and cause the robotic device 120 tomove the surgical instrument to that position. For example, the OCTcontroller 104 may transmit the position of the target tissue (e.g., alocation on the surface of the retina) in the 3D coordinate system ofthe robotic device 120 to the robotic device controller 122, and, inresponse, the robotic device controller 122 may cause the surgicalinstrument to be moved to the position received from the OCT controller104.

After the surgical instrument is moved to the position of the userselected tissue, the robotic device 120 may be configured to perform thetask selected by the user. For example, if the user selected the task ofremoving a membrane from the target tissue, then the robotic devicecontroller 122 may cause the surgical instrument to remove the membrane.Similarly, if the user virtually draws a motion or task to perform onthe tissue, the OCT controller 104 may transmit information related tothat motion or task to the robotic device controller 122, and therobotic device controller 122 may cause the surgical instrument toperform the motion or task.

FIG. 2 illustrates a block diagram of selected components of animplementation of an OCT controller, such as the OCT controller 104 asdescribed above in reference with FIG. 1. As shown in FIG. 2, OCTcontroller 104 includes processor 201, bus 202, display interface 204,memory 210, and communication interface 220.

The processor 201 may be communicatively coupled to memory 210, displayinterface 204, and communication interface 220 via bus 202. The OCTcontroller 104 may be configured to interface with various externalcomponents (e.g., OCT scanner 102, imaging system 106, display 108,external display 110, and the like) of an OCT system (e.g., OCT system100) via processor 201 and communication interface 220. In someimplementations, communication interface 220 may be configured to enableOCT controller 104 to connect to a network (not shown). In someimplementations, the OCT controller 104 may be connected to one or moredisplays, such as display 108, external display 110, and the like, viadisplay interface 204.

The memory 210 may include persistent, volatile, fixed, removable,magnetic, and/or semiconductor media. The memory 210 may be configuredto store one or more machine-readable commands, instructions, data,and/or the like. In some implementations, as shown in FIG. 2, the memory210 may include one or more sets and/or sequences of instructions, suchas an operating system 212, a scanning control application 214, and thelike. Examples of operating system 212 may include, but are not limitedto, real-time operating systems, such as ThreadX provided by ExpressLogic, VxWorks provided by Wind River, Integrity provided by GreenHills, QNX, etc.

The scanning control application 214 may be configured to perform OCTcontroller operations as described herein including, but not limited to,operations related to initiation of scanning of the eye, generation ofOCT images, OCT image processing, receiving position data of thegalvanometer scanners from the absolute encoders, receiving scan data,determining positions of one or more tissues of the eye in a first 3Dcoordinate system (e.g., the 3D coordinate system of the OCT system100), determining a position in a second 3D coordinate system (e.g., the3D coordinate system of the robotic device 120) based on the positionsof the tissues in the first 3D coordinate system, causing acommunicatively coupled robotic device (e.g., robotic device 120) tomove a surgical instrument to the position in the second 3D coordinatesystem, and the like.

FIG. 3 illustrates a flow chart of an example method for guiding arobotic device for an ophthalmic procedure, in accordance with certainembodiments of the present disclosure. The operations 300 may beperformed, for example, by an OCT controller (e.g., the OCT controller104 of OCT system 100). The operations 300 may be implemented assoftware components that are executed and run on one or more processors(e.g., processor 201).

The operations 300 may begin at 302, where the OCT controller 104receives, during an OCT scanning of an eye, position data of theplurality of galvanometer scanners from the plurality of absoluteencoders and a plurality of incremental encoders, wherein each absoluteencoder of the plurality of absolute encoders and each incrementalencoder of the plurality of incremental encoders are coupled to at leastone galvanometer scanner of the plurality of galvanometer scanners.

At 304, the OCT controller 104, receives, during the OCT scanning, scandata related to one or more tissues of the eye. At 306, the OCTcontroller 104, determines, based on the received position data and thescan data, a set of first positions of the one or more tissues of theeye in a first three-dimensional (3D) coordinate system.

At 308, the OCT controller 104, determines, based on the first set ofpositions and a mapping between the first 3D coordinate system and asecond 3D coordinate system, a position in the second 3D coordinatesystem for a surgical instrument coupled to a robotic device. At 310,the OCT controller 104, causes the robotic device to move the surgicalinstrument to the position in the second 3D coordinate system.

In some implementations, the OCT controller 104, initiates the OCTscanning of the eye in response to receiving a message indicatinginitiation of the OCT scanning of the eye, and generates, based on theOCT scanning, a real-time 3D image of the eye in the first 3D coordinatesystem. In some implementations, to determine the position in the second3D coordinate system, the OCT controller 104, receives (e.g., from auser) a selection of a location in the real-time 3D image correspondingto a first tissue of the one or more tissues of the eye, and maps, basedon the first set of positions and the mapping between the first 3Dcoordinate system and a second 3D coordinate system, the location to thedetermined position in the second 3D coordinate systems.

In some implementations, the OCT controller 104, provides the real-time3D image of the eye for display to a user. In some implementations, atleast one absolute encoder of the plurality of absolute encoders is asine-cosine encoder. In some implementations, at least one absoluteencoder of the plurality of absolute encoders is a holographic encoder.In some implementations, at least one galvanometer scanner of theplurality of galvanometer scanners is configured to scan in a firstdirection and at least one other galvanometer scanner of the pluralityof galvanometer scanners is configured to scan in a second direction. Insome implementations, the first direction is perpendicular to the seconddirection. In some implementations, at least one galvanometer scanner ofthe plurality of galvanometer scanners is a moving-magnet galvanometerscanner.

The methods and apparatus described above provide novel systems andmethods for guiding a robotic device for an ophthalmic procedure usingdata generated and/or captured during an OCT scan of an eye. Forexample, the described systems and methods determine positions ofdetected tissues in a coordinate system based on position data ofgalvanometer scanners received from absolute and incremental encoderscoupled to the galvanometer scanners, which improve the accuracy ofdetermining positions of various detected tissues of an eye in acoordinate space and improve the accuracy of moving robot-drivensurgical instruments to a user selected tissue for an ophthalmicprocedure.

While the foregoing is directed to embodiments of the presentdisclosure, other and further embodiments of the disclosure may bedevised without departing from the basic scope thereof, and the scopethereof is determined by the claims that follow.

Example Embodiments

Embodiment 1: A method comprising: receiving, during an opticalcoherence tomography (OCT) scanning of an eye, position data of aplurality of galvanometer scanners from a plurality of absolute encodersand a plurality of incremental encoders, wherein each one of theplurality of absolute encoders and each one of the plurality ofincremental encoders are coupled to at least one of the plurality ofgalvanometer scanners; receiving, during the OCT scanning, scan datarelated to one or more tissues of the eye; determining, based on thereceived position data and the scan data, a set of first positions ofthe one or more tissues of the eye in a first three-dimensional (3D)coordinate system; determining, based on the first set of positions anda mapping between the first 3D coordinate system and a second 3Dcoordinate system, a position in the second 3D coordinate system for asurgical instrument coupled to a robotic device; and causing the roboticdevice to move the surgical instrument to the position in the second 3Dcoordinate system.

The method of embodiment 1, wherein at least one of the plurality ofgalvanometer scanners is configured to scan in a first direction andwherein at least another one of the plurality of galvanometer scannersis configured to scan in a second direction.

The method of embodiment 1, wherein the first direction is perpendicularto the second direction.

The method of embodiment 1, wherein at least one galvanometer scanner ofthe plurality of galvanometer scanners is a moving-magnet galvanometerscanner.

The method of embodiment 1, wherein at least one galvanometer scanner ofthe plurality of galvanometer scanners is an optical galvanometerscanner.

The method of embodiment 1, wherein the plurality of absolute encodersand the plurality of incremental encoders are integrated into a singledevice.

What is claimed is:
 1. An optical coherence tomography (OCT) system,comprising: a plurality of galvanometer scanners; a plurality ofabsolute encoders and a plurality of incremental encoders, each one ofthe plurality of absolute encoders and each one of the plurality ofincremental encoders coupled to at least one of the plurality ofgalvanometer scanners; and a controller coupled to the plurality ofabsolute encoders and the plurality of incremental encoders, thecontroller comprising: a processor, and a memory coupled to theprocessor and having instructions stored thereon, which when executed bythe processor, causes the controller to: receive, during an opticalcoherence tomography (OCT) scanning of an eye, position data of theplurality of galvanometer scanners from the plurality of absoluteencoders and the plurality of incremental encoders coupled tocorresponding galvanometer scanners of the plurality of galvanometerscanners; receive, during the OCT scanning, scan data related to one ormore tissues of the eye; determine, based on the received position dataand the scan data, a set of first positions of the one or more tissuesof the eye in a first three-dimensional (3D) coordinate system;determine, based on the first set of positions and a mapping between thefirst 3D coordinate system and a second 3D coordinate system, a positionin the second 3D coordinate system for a surgical instrument coupled toa robotic device; and cause the robotic device to move the surgicalinstrument to the position in the second 3D coordinate system.
 2. TheOCT system of claim 1, wherein the processor further causes thecontroller to: initiate the OCT scanning of the eye in response toreceiving a message indicating initiation of the OCT scanning of theeye; and generate, based on the OCT scanning, a real-time 3D image ofthe eye in the first 3D coordinate system.
 3. The OCT system of claim 2,wherein to determine the position comprises to: receive a selection of alocation in the real-time 3D image corresponding to a first tissue ofthe one or more tissues of the eye; and map, based on the first set ofpositions and the mapping between the first 3D coordinate system and asecond 3D coordinate system, the location to the determined position inthe second 3D coordinate systems.
 4. The OCT system of claim 2, whereinthe processor further causes the controller to: provide the real-time 3Dimage of the eye for display to a user.
 5. The OCT system of claim 1,wherein at least one absolute encoder of the plurality of absoluteencoders is a sine-cosine encoder.
 6. The OCT system of claim 1, whereinat least one absolute encoder of the plurality of absolute encoders is aholographic encoder.
 7. The OCT system of claim 1, wherein at least onegalvanometer scanner of the plurality of galvanometer scanners isconfigured to scan in a first direction and wherein at least one othergalvanometer scanner of the plurality of galvanometer scanners isconfigured to scan in a second direction.
 8. The OCT system of claim 7,wherein the first direction is perpendicular to the second direction. 9.The OCT system of claim 1, wherein at least one galvanometer scanner ofthe plurality of galvanometer scanners is a moving-magnet galvanometerscanner.
 10. A method of guiding a robotic device, comprising:receiving, during an optical coherence tomography (OCT) scanning of aneye, position data of a plurality of galvanometer scanners from aplurality of absolute encoders and a plurality of incremental encoderscoupled to corresponding galvanometer scanners of the plurality ofgalvanometer scanners, each one of the plurality of absolute encodersand each one of the plurality of incremental encoders coupled to atleast one of the plurality of galvanometer scanners; receiving, duringthe OCT scanning, scan data related to one or more tissues of the eye;determining, based on the received position data and the scan data, aset of first positions of the one or more tissues of the eye in a firstthree-dimensional (3D) coordinate system; determining, based on thefirst set of positions and a mapping between the first 3D coordinatesystem and a second 3D coordinate system, a position in the second 3Dcoordinate system for a surgical instrument coupled to the roboticdevice; and causing the robotic device to move the surgical instrumentto the position in the second 3D coordinate system.
 11. The method ofclaim 10, further comprising: initiating the OCT scanning of the eye inresponse to receiving a message indicating initiation of the OCTscanning of the eye; and generating, based on the OCT scanning, areal-time 3D image of the eye in the first coordinate system.
 12. Themethod of claim 11, wherein determining the position further comprises:receiving a selection of a location in the real-time 3D imagecorresponding to a first tissue of the one or more tissues of the eye;and mapping, based on the first set of positions and the mapping betweenthe first 3D coordinate system and a second 3D coordinate system, thelocation to the determined position in the second 3D coordinate systems.13. The method of claim 11, further comprising: providing the real-time3D image of the eye for display to a user.
 14. The method of claim 10,wherein at least one absolute encoder of the plurality of absoluteencoders is a sine-cosine encoder.
 15. The method of claim 10, whereinat least one absolute encoder of the plurality of absolute encoders is aholographic encoder.